A wide range of implantable medical devices are provided for surgical implantation into humans or animals. One common example is the cardiac pacemaker. Another is the implantable cardioverter defibrillator (ICD). Other examples include devices for stimulating or sensing portions of the brain, spinal cord, muscles, bones, nerves, glands or other body organs or tissues. Another example is an implantable drug pump.
Implantable medical devices, particularly pacemakers, are often configured to be used in conjunction with a programmer which allows a physician to program the operation of the pacemaker to, for example, control the specific parameters by which the pacemaker detects arrhythmia conditions and responds thereto. For instance, the programmer may allow the physician to specify the sensitivity with which the pacemaker senses electrical signals within the heart and to further specify the amount of electrical energy to be employed for pacing the heart in circumstances where expected heart signals are not sensed. Additionally, the programmer may be configured to receive and display a wide variety of diagnostic information detected by the pacemaker, such as graphs of electrical heart signals sensed by the pacemaker and responsive pacing signals. Also, the programmer may operate to analyze the data received from the implantable device to assist the physician in rendering diagnoses as to possible arrhythmias and to assist the physician in programming the implantable medical device to provide appropriate therapy.
Traditionally, programmers are stand-alone microprocessor based devices with dedicated program and data storage. Hence, the functions performed by the programmers are limited by the programs and data that are physically stored in the programmer and by the data received from the implanted device. Moreover, historical data pertaining to any particular patient is often stored only in the programmer which was previously used in connection with the patient and it is difficult or time consuming to have the historical data transferred to another programmer. Hence, if a patient visits a different hospital or clinic, previously recorded data for the patient may not be readily available. Hence, it would be desirable to provide a programmer system which could perform more complex analysis functions and which could exploit information databases not physically stored within the programmer. In particular, it would be desirable to provide a programmer which could access collective databases storing historical information for a wide variety of patients.
Also, since programmers are stand-alone devices, it is difficult and costly to upgrade the programmer to provide enhanced features. Typically, to provide new functionality via a software upgrade, each individual programmer must be individually programmed with the new software. As can be appreciated, with a potentially large number of programmers in use, the individual reprogramming of each programmer can be a significant cost. Moreover, problems may arise if some but not all of the programmers are reprogrammed. For example, a physician or other medical professional familiar with the software of one particular programmer may have difficulties if encountering an identical programmer having a different version of the software. Also, it is difficult for a manufacturer to effectively provide software support if different programmers have different versions of the programmer software. Accordingly, it would be desirable to ensure a greater degree of uniformity in the software employed within the programmers by providing a more effective and expedient technique for upgrading the software.
For these and other reasons, stand-alone programmers are typically expensive devices to manufacture and maintain. Similar problems arise with transtelephonic systems for remotely recording electrocardiograms (ECGs) detected by pacemakers. With conventional transtelephonic systems, the patient, while in the home or office, connects electrodes from the wrists, finger tips or chest to a patient transmitter to transmit ECG signals to the telephone receiver. The ECG signals are in turn transmitted via telephone lines to a transtelephonic display device located at a hospital, clinic or physician's office for display and analysis. Typically, the transtelephonic system is employed during patient follow-up sessions subsequent to implantation of the medical device. A technician or other medical professional reviews the ECG signals to verify that the implantable medical device is functioning properly. By employing the transtelephonic device, the patient need not make a visit to the physician's office or clinic every time a follow-up session is required.
As with programmers, transtelephonic display devices are typically stand-alone devices (usually a personal computer) with dedicated programs and data storage. Hence, the functions performed by the transtelephonic ECG display device are limited by the programs and data that are physically stored therein and by the data received telephonically from the patient. Historical ECG data pertaining to a patient is often stored only in the particular transtelephonic ECG display device that was used to receive the data. As with programmers, it would be desirable to provide a transtelephonic display device which could perform more complex analysis functions and which could exploit information databases not physically stored within the device. Also, as with programmers, it is typically time-consuming and expensive to upgrade transtelephonic display devices to provide software with enhanced features and problems can arise if all transtelephonic devices of the same model do not receive the software upgrade.
Currently, there are transtelephonic monitoring devices available which provide a limited capability for accessing collective databases to, for example, generate reports based upon the collective database of a limited patient population. In one example, the collective database can be used to generate reports on one patient or a group of patients to be read using a browser over the Internet. However, as far as the applicant is aware, these systems do not provide for the upgrading of software using a central server and do not perform complex data analysis using a central server. Also, as far as applicant is aware, these systems do not provide for the sharing of any collective data among various device programmers, but rather only among transtelephonic monitoring devices.
Also, conventionally, device programmers and transtelephonic monitoring devices are entirely separate devices with no capability for transmission of data therebetween. Accordingly, it would be desirable to provide an integrated system which can store and share data received from both device programmers and transtelephonic devices and to perform complex analysis based on the stored data. Moreover, the need to provide separate device programmers and transtelephonic monitoring devices results in unnecessary redundancy and expense. Accordingly, it would also be desirable to integrate device programmers and transtelephonic monitoring devices into a single system to eliminate redundancy. In particular, it would be desirable to permit a device programmer to receive and store transtelephonic data initially received at a centralized server.